package demo01;

import java.time.LocalDate;
import java.time.Period;
import java.util.Scanner;

public class BirthDay01 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入您的生日：  格式：yyyy-MM-dd");
        String inPut = scanner.next();
        String[] arr = inPut.split("-");
        int inPutYear = Integer.parseInt(arr[0]);
        int inPutMouth = Integer.parseInt(arr[1]);
        int inPutDay = Integer.parseInt(arr[2]);

        LocalDate ld = LocalDate.now();
        System.out.println(ld);
        int year = ld.getYear() - inPutYear;
        int mouth = ld.getMonthValue() - inPutMouth;
        int day = ld.getDayOfMonth() - inPutDay;
        //存在BUG    出生的月份数字大于现在的实际月份，   在相减的时候  会出现负数
        //解决办法   在进行输出语句之前  进行if 判断  如果出生月份大于实际月份   出生天数大于实际天数等等....
//        System.out.println("您已经活了：" + year + "年" + mouth + "月" + day + "天了");


//
        LocalDate now = LocalDate.now();

        // 1、创建Period对象，封装两个日期对象。
        Period period = Period.between(LocalDate.parse(inPut), now);

        // 2、通过period对象获取两个日期对象相差的信息。
        period.getYears();
        period.getMonths();
        period.getDays();
        System.out.println("您已经活了：" + period.getYears()+"年" + period.getMonths() + "月" + period.getDays() + "天了");
    }
}
